import Vue from 'vue'
import Vuex from 'vuex'
// Vuex 依赖 Promise (opens new window)。如果你支持的浏览器并没有实现 Promise (比如 IE)，那么你可以使用一个 polyfill 的库，例如 es6-promise (opens new window)。
import 'es6-promise/auto'

Vue.use(Vuex)

export default new Vuex.Store({
  strict: true, // 严格模式
  state: {
    // 请求引用计数
    loading: false,
    loadingCount: 0,

    // 侧边导航开与关
    sidebar: false,

    // tags 数组-用户缓存当前打开的页面
    tagsList: []

  },
  mutations: {
    // axios引用计数
    axiosRequest(state, b) {
      b ? state.loadingCount++ : state.loadingCount--;
      state.loadingCount === 0 ? (state.loading = false) : (state.loading = true);
    },

    // 侧边导航开和关
    sidebar(state) {
      state.sidebar = !state.sidebar;
    },

    // tags 数组
    tagsList(state, tagsList) {
      state.tagsList.push(...tagsList);
    },

  },
  actions: {
  },
  modules: {
  }
})